#include "mq2.h"

void mq2_init(void)
{
	GPIO_InitTypeDef Gpio_Value;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	
	Gpio_Value.GPIO_Mode = GPIO_Mode_AIN;
	Gpio_Value.GPIO_Pin = GPIO_Pin_1;
	Gpio_Value.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&Gpio_Value);
}

float get_mq2_vol(void)
{
	get_adc_value(dma_Value);
	return 5*(dma_Value[1]/4096.f);
}

float get_smk_ppm(void)
{
	float RS = 0;
	float ppm;
	RS = (5.0f - get_mq2_vol())*0.5 / get_mq2_vol();
	ppm = pow(11.5428*6.64/RS, 0.6549);
	return ppm;
}

